Lab: Kalkulator Rute Dijkstra

Tujuan 🎯

  • Tugas: Temukan rute terbaik dari server sumber `S` ke semua server lainnya.
  • Keluaran: Untuk setiap server `i`, Anda harus menghitung:
    • Latensi Total: Biaya minimum (jalur terpendek) dari `S` ke `i`.
    • Langkah Selanjutnya: Server pertama pada jalur terpendek tersebut.
  • Contoh: Jika rute terbaik dari `S` ke `D` adalah `S -> A -> B -> D`, maka **Langkah Selanjutnya** adalah `A`.

Jaringan 💾

Kami akan menggunakan Daftar Ketetanggaan untuk menyimpan jaringan.
  • Server adalah simpul.
  • Koneksi adalah sisi dua arah.
  • Latensi adalah bobot positif.
// Tautan: 0-1 (10ms), 0-2 (3ms)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]

Format Keluaran ⚙️

Anda harus mencetak `V` baris. Baris ke-i sesuai dengan server `i`.

  • [latensi] [langkah_selanjutnya]

    Untuk simpul yang dapat dijangkau.

  • 0 -1

    Jika simpul tersebut adalah sumber `S` sendiri.

  • -1 -1

    Jika simpul tersebut tidak dapat dijangkau dari `S`.